﻿#ifndef CONSULTANT_H
#define CONSULTANT_H

#include "iconsultant.h"
#include "define.h"
#include "../../include/commdef.h"
#include "../../include/itmodelbaseimpl.h"

class ITFramework;
class ITLogger;
class ITCommon;
class Consultant : public QObject, public ITModelBaseImpl<IConsultant>
{
	Q_OBJECT
public:
    static Consultant* GetInstance() {static Consultant __instance; return &__instance;}
    void SetFramework(ITFramework* pFrm);
public:
    Consultant();
    virtual ~Consultant();
public:
    void OnReply(TUICONSULTANT_reply_Param *pInArgs, TObject *pOutArgs);

    T_DECLARE_INVOKE
private:
    ITFramework *m_pFramework;
    ITLogger    *m_pLogger;
    ITCommon    *m_pcommon;
};

#endif // CONSULTANT_H
